﻿using System;
namespace iDMS.Models
{
    public interface IDMSRepository
    {
        void CommitChanges();
        System.Linq.IQueryable<Country> CountriesGetAll();
        void DepartmentsAdd(Department entity);
        void DepartmentsDelete(Department entity);
        System.Linq.IQueryable<Department> DepartmentsGetAll();
        void DesignChangeAdd(DesignChange dc);
        void DesignChangeLogAdd(DesignChangeLog entity);
        System.Linq.IQueryable<DesignChange> DesignChangesGetAll();
        System.Linq.IQueryable<DesignChangeLog> DesignChangesLogsGetAll();
        void DrawingAdd(Drawing entity);
        void DrawingDelete(Drawing entity);
        System.Linq.IQueryable<Drawing> DrawingGetAll();
        void EmployeeAdd(Employee entity);
        System.Linq.IQueryable<Employee> EmployeesGetAll();
        System.Linq.IQueryable<InformationCarrier> InformationCarriersGetAll();
        void ManufacturerAdd(Manufacturer entity);
        System.Linq.IQueryable<Manufacturer> ManufacturersGetAll();
        void NoteAdd(Note note);
        System.Linq.IQueryable<Note> NotesGetAll();
        System.Linq.IQueryable<DesignChangePhase> PhasesGetAll();
        System.Linq.IQueryable<DesignChangeReason> ReasonsGetAll();
        void ResourceAdd(Resource entity);
        void ResourceDelete(Resource entity);
        System.Linq.IQueryable<Resource> ResourcesGetAll();
        void SheetAdd(Sheet entity);
        void SheetAttachmentAdd(SheetAttachment entity);
        void SheetAttachmentDelete(SheetAttachment entity);
        System.Linq.IQueryable<SheetAttachment> SheetAttachmentGetAll();
        void SheetDelete(Sheet entity);
        System.Linq.IQueryable<SheetFormat> SheetFormatGetAll();
        System.Linq.IQueryable<Sheet> SheetsGetAll();
        System.Linq.IQueryable<SoftwarePackage> SoftwarePackagesGetAll();
        System.Linq.IQueryable<Unit> UnitsGetAll();
        WorkflowStep WorkflowStepFind(byte oldPhase, byte newPhase);
        System.Linq.IQueryable<WorkflowStep> WorkflowStepsGetAll();
    }
}
